package com.CST.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @author ly
 * @since 2021-09-23
 */
@ApiModel(value ="")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BD_EnumDetail")
public class BdEnumdetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键自增")
    @TableId(value = "EDID", type = IdType.AUTO)
    private Integer edId;

    @ApiModelProperty(value = "上级枚举")
    @ExcelProperty(value = "EDEDID")
    @TableField("EDEDID")
    private Integer edEdId;

    @ApiModelProperty(value = "枚举值")
    @ExcelProperty(value = "edCode")
    @TableField("edCode")
    private String edCode;

    @ApiModelProperty(value = "枚举名称")
    @ExcelProperty(value = "edName")
    @TableField("edName")
    private String edName;

    @ApiModelProperty(value = "枚举关键字")
    @ExcelProperty(value = "edParentCode")
    @TableField("edParentCode")
    private String edParentCode;

    @ApiModelProperty(value = "排序")
    @ExcelProperty(value = "edOrder")
    @TableField("edOrder")
    private Integer edOrder;

    @ApiModelProperty(value = "扩展字段1")
    @ExcelProperty(value = "edExtraFirstCode")
    @TableField("edExtraFirstCode")
    private String edExtraFirstCode;

    @ApiModelProperty(value = "扩展字段1描述")
    @ExcelProperty(value = "edExtraFirstDescription")
    @TableField("edExtraFirstDescription")
    private String edExtraFirstDescription;


    @ApiModelProperty(value = "扩展字段2")
    @ExcelProperty(value = "edExtraSecondCode")
    @TableField("edExtraSecondCode")
    private String edExtraSecondCode;


    @ApiModelProperty(value = "扩展字段2描述")
    @ExcelProperty(value = "edExtraSecondDescription")
    @TableField("edExtraSecondDescription")
    private String edExtraSecondDescription;


    @ApiModelProperty(value = "扩展字段3")
    @ExcelProperty(value = "edExtraThirdCode")
    @TableField("edExtraThirdCode")
    private String edExtraThirdCode;

    @ApiModelProperty(value = "扩展字段3描述")
    @ExcelProperty(value = "edExtraThirdDescription")
    @TableField("edExtraThirdDescription")
    private String edExtraThirdDescription;

    @ApiModelProperty(value = "扩展字段4")
    @ExcelProperty(value = "edExtraFourthCode")
    @TableField("edExtraFourthCode")
    private String edExtraFourthCode;

    @ApiModelProperty(value = "扩展字段4描述")
    @ExcelProperty(value = "edExtraFourthDescriptoin")
    @TableField("edExtraFourthDescriptoin")
    private String edExtraFourthDescriptoin;

    @ApiModelProperty(value = "扩展字段5")
    @ExcelProperty(value = "edExtraFifthCode")
    @TableField("edExtraFifthCode")
    private String edExtraFifthCode;

    @ApiModelProperty(value = "扩展字段5描述")
    @ExcelProperty(value = "edExtraFifthDescriptoin")
    @TableField("edExtraFifthDescriptoin")
    private String edExtraFifthDescriptoin;

    @ApiModelProperty(value = "扩展字段6")
    @ExcelProperty(value = "edExtraSexthCode")
    @TableField("edExtraSexthCode")
    private String edExtraSexthCode;

    @ApiModelProperty(value = "扩展字段6描述")
    @ExcelProperty(value = "edExtraSexthDescription")
    @TableField("edExtraSexthDescription")
    private String edExtraSexthDescription;

    @ApiModelProperty(value = "扩展字段7")
    @ExcelProperty(value = "edExtraSeventhCode")
    @TableField("edExtraSeventhCode")
    private String edExtraSeventhCode;

    @ApiModelProperty(value = "扩展字段7描述")
    @ExcelProperty(value = "edExtraSeventhDescription")
    @TableField("edExtraSeventhDescription")
    private String edExtraSeventhDescription;

    @ApiModelProperty(value = "扩展字段8")
    @ExcelProperty(value = "edExtraEighthCode")
    @TableField("edExtraEighthCode")
    private String edExtraEighthCode;

    @ApiModelProperty(value = "扩展字段8描述")
    @ExcelProperty(value = "edExtraEighthDescription")
    @TableField("edExtraEighthDescription")
    private String edExtraEighthDescription;

    @ApiModelProperty(value = "扩展字段9")
    @ExcelProperty(value = "edExtraNinthCode")
    @TableField("edExtraNinthCode")
    private String edExtraNinthCode;

    @ApiModelProperty(value = "扩展字段9描述")
    @ExcelProperty(value = "edExtraNinthDescription")
    @TableField("edExtraNinthDescription")
    private String edExtraNinthDescription;

    @ApiModelProperty(value = "是否有效")
    @ExcelProperty(value = "RowStatus")
    @TableField("RowStatus")
    private String rowStatus;


    @ApiModelProperty(value = "创建人")
    @ExcelProperty(value = "CreatedBy")
    @TableField("CreatedBy")
    private String createdBy;

    @ApiModelProperty(value = "创建时间",example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @ExcelProperty(value = "CreatedOn")
    @TableField("CreatedOn")
    private String createdOn;

    @ApiModelProperty(value = "修改人")
    @ExcelProperty(value = "UpdatedBy")
    @TableField("UpdatedBy")
    private String updatedBy;


    @ApiModelProperty(value = "修改时间",example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @ExcelProperty(value = "UpdatedOn")
    @TableField("UpdatedOn")
    private String updatedOn;

    @ExcelProperty(value = "Remark")
    @TableField("Remark")
    private String remark;


    @TableField(exist = false)
    private Boolean isLike;

    @TableField(exist = false)
    private int pageIndex;

    @TableField(exist = false)
    private int pageSize;
    
    @TableField(exist = false)
    private String relationStatus;       // 是否关联查询的标志  1：关联查询 0：未关联查询
    

    @TableField(exist = false)
    private String isLeaf;

}
